Updating a profile

ABSTRACT

Updating a profile includes monitoring electronic communications between a target user and a number of other users in real-time, extracting communicated information available about the target user and the number of other users from the electronic communications, based on an analysis of the communicated information available about the target user and the number of other users identifying relevant information from the communicated information that is relevant for updating the profile of the target user on at least one social network, and updating the profile of the target user on the at least one social network using the relevant information derived from the analysis.

BACKGROUND

A social network is a network based application to enable a person tocreate a user account. Once the user account is created, the userestablishes connections with other users, such as friends, family, andcolleagues in an online environment. The users may then collaborate witheach other on the social network or over various electronic mediumsincluding electronic mail (email) and chats by uploading pictures,sharing posts, sending messages, updating status information, andcommenting on information posted by others, among other activities.

BRIEF SUMMARY

A method for updating a profile, the method includes, with a computerhaving a network interface and programmed to perform the method,monitoring electronic communications between a target user and a numberof other users in real-time, extracting communicated informationavailable about the target user and the number of other users from theelectronic communications, based on an analysis of the communicatedinformation available about the target user and the number of otherusers identifying relevant information from the communicated informationthat is relevant for updating the profile of the target user on at leastone social network, and updating the profile of the target user on theat least one social network using the relevant information derived fromthe analysis.

A system for updating a profile includes a first server to monitorelectronic communications between a target user and a number of otherusers in real-time, an extracting circuit to extract communicatedinformation available about the target user and the number of otherusers from the electronic communications, an identifying circuit to,based on an analysis of the communicated information available about thetarget user and the number of other users, identify relevant informationthat is relevant for updating the profile of the target user on at leastone social network, a display to present a number of prompts to thetarget user to allow the target user to validate the relevantinformation before updating the profile, and a second server to updatethe profile of the target user on the at least one social network usingthe relevant information derived from the analysis.

A machine-readable, non-volatile storage medium encoded withinstructions, the instructions executable by a processor of a system tocause the system to access a server through a network interface andmonitor electronic communications between a target user and a number ofother users in real-time, the server storing the electroniccommunications, extract communicated information available about thetarget user and the other user from the electronic communications tocreate a model, analyze the model, and based on an analysis of the modelidentifying relevant information from that is useful for updating theprofile of the target user on a social network.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

The accompanying drawings illustrate various examples of the principlesdescribed herein and are a part of the specification. The examples donot limit the scope of the claims.

FIG. 1 is a diagram of an example of a system for updating a profile,according to one example of principles described herein.

FIG. 2 is a diagram of an example of a system for updating a profile,according to one example of principles described herein.

FIG. 3 is a diagram of an example of a model, according to one exampleof principles described herein.

FIG. 4A is a diagram of an example of a prompt, according to one exampleof principles described herein.

FIG. 4B is a diagram of an example of a prompt, according to one exampleof principles described herein.

FIG. 5 is a flowchart of an example of a method for updating a profile,according to one example of principles described herein.

FIG. 6 is a flowchart of an example of a method for updating a profile,according to one example of principles described herein.

FIG. 7 is a diagram of an example of an updating system, according tothe principles described herein.

FIG. 8 is a diagram of an example of an updating system, according tothe principles described herein.

Throughout the drawings, identical reference numbers designate similar,but not necessarily identical, elements.

DETAILED DESCRIPTION

The present specification describes a method and system for updating aprofile, such that the profile of a target user is updated based onrelevant information extracted from electronic communication between thetarget user and other users.

The present invention may be a system, a method, and/or a computerprogram product. The computer program product may include a computerreadable storage medium (or media) having computer readable programinstructions thereon for causing a processor to carry out aspects of thepresent invention.

The computer readable storage medium can be a tangible device that canretain and store instructions for use by an instruction executiondevice. The computer readable storage medium may be, for example, but isnot limited to, an electronic storage device, a magnetic storage device,an optical storage device, an electromagnetic storage device, asemiconductor storage device, or any suitable combination of theforegoing. A non-exhaustive list of more specific examples of thecomputer readable storage medium includes the following: a portablecomputer diskette, a hard disk, a random access memory (RAM), aread-only memory (ROM), an erasable programmable read-only memory (EPROMor Flash memory), a static random access memory (SRAM), a portablecompact disc read-only memory (CD-ROM), a digital versatile disk (DVD),a memory stick, a floppy disk, a mechanically encoded device such aspunch-cards or raised structures in a groove having instructionsrecorded thereon, and any suitable combination of the foregoing. Acomputer readable storage medium, as used herein, is not to be construedas being transitory signals per se, such as radio waves or other freelypropagating electromagnetic waves, electromagnetic waves propagatingthrough a waveguide or other transmission media (e.g., light pulsespassing through a fiber-optic cable), or electrical signals transmittedthrough a wire.

Computer readable program instructions described herein can bedownloaded to respective computing/processing devices from a computerreadable storage medium or to an external computer or external storagedevice via a network, for example, the Internet, a local area network, awide area network and/or a wireless network. The network may comprisecopper transmission cables, optical transmission fibers, wirelesstransmission, routers, firewalls, switches, gateway computers and/oredge servers. A network adapter card or network interface in eachcomputing/processing device receives computer readable programinstructions from the network and forwards the computer readable programinstructions for storage in a computer readable storage medium withinthe respective computing/processing device.

Computer readable program instructions for carrying out operations ofthe present invention may be assembler instructions,instruction-set-architecture (ISA) instructions, machine instructions,machine dependent instructions, microcode, firmware instructions,state-setting data, or either source code or object code written in anycombination of one or more programming languages, including an objectoriented programming language such as Smalltalk, C++ or the like, andconventional procedural programming languages, such as the “C”programming language or similar programming languages. The computerreadable program instructions may execute entirely on the user'scomputer, partly on the user's computer, as a stand-alone softwarepackage, partly on the user's computer and partly on a remote computeror entirely on the remote computer or server. In the latter scenario,the remote computer may be connected to the user's computer through anytype of network, including a local area network (LAN) or a wide areanetwork (WAN), or the connection may be made to an external computer(for example, through the Internet using an Internet Service Provider).In some embodiments, electronic circuitry including, for example,programmable logic circuitry, field-programmable gate arrays (FPGA), orprogrammable logic arrays (PLA) may execute the computer readableprogram instructions by utilizing state information of the computerreadable program instructions to personalize the electronic circuitry,in order to perform aspects of the present invention.

Aspects of the present invention are described herein with reference toflowchart illustrations and/or block diagrams of methods, apparatus(systems), and computer program products according to embodiments of theinvention. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer readable program instructions.

These computer readable program instructions may be provided to aprocessor of a general purpose computer, special purpose computer, orother programmable data processing apparatus to produce a machine, suchthat the instructions, which execute via the processor of the computeror other programmable data processing apparatus, create means forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks. These computer readable program instructionsmay also be stored in a computer readable storage medium that can directa computer, a programmable data processing apparatus, and/or otherdevices to function in a particular manner, such that the computerreadable storage medium having instructions stored therein comprises anarticle of manufacture including instructions which implement aspects ofthe function/act specified in the flowchart and/or block diagram blockor blocks.

The computer readable program instructions may also be loaded onto acomputer, other programmable data processing apparatus, or other deviceto cause a series of operational steps to be performed on the computer,other programmable apparatus or other device to produce a computerimplemented process, such that the instructions which execute on thecomputer, other programmable apparatus, or other device implement thefunctions/acts specified in the flowchart and/or block diagram block orblocks.

The flowchart and block diagrams in the Figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods, and computer program products according to variousembodiments of the present invention. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof instructions, which comprises one or more executable instructions forimplementing the specified logical function(s). In some alternativeimplementations, the functions noted in the block may occur out of theorder noted in the figures. For example, two blocks shown in successionmay, in fact, be executed substantially concurrently, or the blocks maysometimes be executed in the reverse order, depending upon thefunctionality involved. It will also be noted that each block of theblock diagrams and/or flowchart illustration, and combinations of blocksin the block diagrams and/or flowchart illustration, can be implementedby special purpose hardware-based systems that perform the specifiedfunctions or acts or carry out combinations of special purpose hardwareand computer instructions.

As noted above, a social network is a network based application toenable a person to create a user account. Often, the social networkincludes a profile page for each person that created a user account. Forexamples, if the social network includes four people, each of the peoplehas a profile page. The profile page may be a visual display of personaldata associated with the person. As a result, the profile page is anexplicit representation of the person's identity.

To create a profile page, the person manually provides personal data tothe social network. The person may provide an image of themselves, auser name, a date of birth, other personal data, and combinationsthereof. For each social network that the person is a member of, theperson manually provides personal data to each of the social networks.If the person joins several social networks, this may be a burdensometask to manually provide personal data to the social network. As thesocial networks evolve, the person may need to specify more personaldata. As the personal data of the person changes, the person manuallyprovides new personal data to the social network. As a result, theperson needs to constantly provide personal data to the social networkif the profile page of the person is to be up-to-date.

The principles described herein include a method for updating a profile.Such a method includes with a computer having a network interface andprogrammed to perform the method, monitoring electronic communicationsbetween a target user and a number of other users in real-time,extracting communicated information available about the target user andthe number of other users from the electronic communications, based onan analysis of the communicated information available about the targetuser and the number of other users identifying relevant information fromthe communicated information that is relevant for updating the profileof the target user on at least one social network, and updating theprofile of the target user on the at least one social network using therelevant information derived from the analysis. Such a method allows theprofile of the target user to be updated based on relevant informationextracted from electronic communication between the target user andother users. As a result, all profiles for all social networksassociated with the target user may be updated.

In the present specification and in the appended claims, the term“target user” means a user of a social network whose profile is to beupdated. The target user may be an individual or a group of individuals.

In the present specification and in the appended claims, the term “otherusers” means a user of a social network that exchanges electroniccommunication with a target user. The other users may be an individualor a group of individuals.

In the present specification and in the appended claims, the term“communicated information” means data extracted from electroniccommunications. This communicated information may be analyzed todetermine relevant information for updating a profile of a target user.The term “relevant information” refers to portions of communicatedinformation that have been determined relevant for updating the profileof a target user in a social network.

In the present specification and in the appended claims, the term“prompt” means relevant information presented to the target user in theform of a questions to allow the target user to select an answer to thequestion. Once the target user selects an answer, the relevantinformation is validated accordingly. Once the relevant information isvalidated, the relevant information may be used to update a profile of atarget user.

In the present specification and in the appended claims, the term“model” means a data structure representing electronic communicationsexchanged between a target user and other users. The target user and theother users may be represented as nodes on the model. Electroniccommunications exchanged between the target user and the other users isrepresented as edges on the model.

In the present specification and in the appended claims, the term“analyzing technique” means methods used to extract relevant informationfrom electronic communications for the purpose of updating a profile ofthe target user on at least one social network. The analyzing techniquesmay include an in-degree technique, an out-degree technique, a closenesstechnique, a betweenness technique, an eigenvector centrality technique,or combinations thereof.

In the following description, for purposes of explanation, numerousspecific details are set forth in order to provide a thoroughunderstanding of the present systems and methods. It will be apparent,however, to one skilled in the art that the present apparatus, systems,and methods may be practiced without these specific details. Referencein the specification to “an example” or similar language means that aparticular feature, structure, or characteristic described in connectionwith that example is included as described, but may not be included inother examples.

FIG. 1 is a diagram of an example of a system for updating a profile,according to one example of principles described herein. As will bedescribed below, an updating system is in communication with a networkto monitor electronic communications between a target user and a numberof other users in real-time. The updating system extracts communicatedinformation available about the target user and the number of otherusers from the electronic communications. The updating systemidentifies, based on an analysis of the communicated informationavailable about the target user and the number of other users, relevantinformation from the communicated information that is relevant forupdating the profile of the target user on at least one social network.The updating system updates the profile of the target user on the atleast one social network using the relevant information derived from theanalysis.

In one example, the system (100) includes a number of user devices (106)with displays (108). The user devices (106) may include user device A(106-1) and user device B (106-2). The user devices (106) may allowusers (102) to exchange electronic communication with each other. Theelectronic communication may be in the form of an instant message (IM),an electronic mail (email), a live video, a phone call, a post, or ashort message service (SMS).

Each of the user devices (106) may be associated with a user (102). Forexample, user device A (106-1) may be associated with a target user(102-1). The target user (102-1) may be a user of a social network whoseprofile is to be updated. The target user (102-1) may be an individualor a group of individuals. User device B (106-2) may be associated withother users (102-2). The other users (102-2) may be a user of a socialnetwork that exchanges electronic communication with the target user(102-1). The other users (102-2) may be an individual or a group ofindividuals. In an example, each of the users (102) uses the userdevices (106) to access social networks (112) via a network (114).

The system (100) includes social networks (112). The social networks(112) are network based applications to enable a person, such as theusers (102), to create a user account. Once the user account is created,the users (102) establish connections with other users, such as friends,family, and colleagues in an online environment. The users (102) maythen collaborate with each other on the social networks (112) viaelectronic communication by uploading pictures, sharing posts, sendingmessages, updating status information, and commenting on informationposted by others, among other activities. As described below, the socialnetworks (112) include a profile for each of the users (102).

The system (100) includes an updating system (110). The updating system(110) may be in communication with the user devices (106) and the socialnetworks (112) over a network (106).

The updating system (110) monitors electronic communications between thetarget user (102-1) and the number of other users (102-2) in real-time.The users (102) may interact with each other over various electronicmediums including email, chats and the social network (112) by uploadingpictures, sharing posts, sending messages, updating status information,and commenting on information posted by others, among other activities.As a result, the updating system (110) may monitor electroniccommunications between the target user (102-1) and the number of otherusers (102-2) on the social networks (112). The updating system (110)may monitor the electronic communications between the target user(102-1) and the number of other users (102-2) on systems outside of thesocial networks (112). Such systems may include email servers.

The updating system (110) extracts communicated information availableabout the target user (102-1) and the number of other users (102-2) fromthe electronic communications. The communicated information may be usedto create a model for the analysis.

Further, the updating system (110) identifies, based on an analysis ofthe communicated information available about the target user and thenumber of other users, relevant information from the communicatedinformation that is relevant for updating the profile of the target user(102-1) on at least one of the social networks (112). For example, ifthe social networks (112) include social network A and social network B,the relevant information may be used for updating the profile of thetarget user (102-1) on social network A if the relevant informationpertains to social network A.

The updating system (110) updates the profile of the target user (102-1)on at least one of the social networks (112) using the relevantinformation derived from the analysis. This may include updatingpersonal information for the target user (102-1) or making a post on atleast one of the social networks (112) for the target user (102-1). Sucha system allows the profile of the target user (102-1) to be updatedbased on relevant information extracted from electronic communicationbetween the target user (102-1) and the other users (102-2). As aresult, all profiles associated with the target user (102-1) may beupdated. More information about the updating system (110) is describedlater on in this specification.

While this example has been described with reference to the updatingsystem being located over the network, the updating system may belocated in any appropriate location according to the principlesdescribed herein. For example, the updating system may be located in auser device, a server, a datacenter, other locations, or combinationsthereof.

FIG. 2 is a diagram of an example of a system for updating a profile,according to one example of principles described herein. As describedbelow, an updating system is in communication with a network to monitorelectronic communications between a target user and a number of otherusers in real-time. The updating system extracts communicatedinformation available about the target user and the number of otherusers from the electronic communications. The updating systemidentifies, based on an analysis of the communicated informationavailable about the target user and the number of other users, relevantinformation from the communicated information that is relevant forupdating the profile of the target user on at least one social network.The updating system updates the profile of the target user on the atleast one social network using the relevant information derived from theanalysis.

As illustrated, the system (200) includes a number of social networks(212). For example, the system (200) includes social network A (212-1)and social network B (212-2). The social networks (212) may be forbusiness use or personal use. For example, social network A (212-1) maybe a social network that is specific to a company and is for businessuse. As a result, employees of the company are allowed to create useraccounts, update information on social network A (212-1), and postinformation on social network A (212-1) that pertains to the company.Social network B (212-2) may be a social network that anyone can join.As a result, social network B (212-2) may be for personal use. In someexamples, metadata associated with the social networks (212) allow anupdating system (210) to determine which social networks (212) are forpersonal use and/or business use. The metadata may include the name ofthe social networks, if the target user needs specific credentials tologin to the social networks, such as an email address ending in@companyX.com, other metadata, or combinations there. In anotherexample, the target user may specify, via a graphical user interface(GUI), which social networks (212) are for personal use and/or businessuse. The GUI may present a list of social networks the target user hasjoined. The list may include social network A and social network B. Thetarget user may specify via a dropdown box, a check box, or a radiobutton, that social network A is for business use and social network Bis for personal use. This allows the updating system (210) to determineif relevant information extracted from electronic communication is to beused to update the target user's profile on social network A (212-1)and/or social network B (212-2).

As noted above, each of the social networks (212) may include profiles(211). For illustrative purposes, only the profiles (211) for the targetuser (202-1) are illustrated in FIG. 2. In this example, profile A(211-1) may be a profile for the target user (202-1) and may beassociated with social network A (212-1). Profile B (211-2) may be aprofile for the target user (202-1) and may be associated with socialnetwork B (212-2). As described below, relevant information (218) may beused to update the profiles (211) of the target user (202-1) on each ofthe social networks (212).

The system (200) includes an updating system (210). As described below,the updating system (210) may perform tasks such as monitor electroniccommunications, create a model, analyze the model, present a prompt, andupdate at least one of the profiles (211) of the target user (202-1).Some of the tasks may be conducted every time the updating system (210)is activated. Other tasks may be conducted based to an event. The eventmay include activing the updating system (210) at the discretion of anadministrator, at a specific time, when another user mentions a targetuser (202-1) in electronic communication, other events, or combinationsthereof. The tasks may be conducted based on a time. The time may be aspecific minute, hour, day, week, or year. The tasks may further beconducted as appropriate as indicated by the specific examples below orby other appropriate factors. In one example, the updating system (210)includes a first server (214-1), an extracting circuit (214-2), anidentifying circuit (214-3), a display (214-4), and a second server(214-5).

As noted above, the updating system (210) includes the first server(214-1). The first server (214-1) monitors electronic communicationsbetween a target user (202-1) and a number of other users (202-2) inreal-time. In some examples, the target user (202-1) and the number ofother users (202-2) may be directly exchanging electroniccommunications. For example, the target user (202-1) may send an emailto the number of other users (202-2). In other examples, the target user(202-1) and the number of other users (202-2) may be indirectlyexchanging electronic communications. For example, one of the otherusers (202-2) may send an IM to another one of the other users (202-2).The IM may be about the target user (202-1). In some examples, the firstserver (214-1) monitors electronic communications at specific times. Forexample, the first server (214-1) monitors electronic communicationsevery Monday through Friday for each week of the year. In otherexamples, the first server (214-1) monitors electronic communicationswhen the first server (214-1) receives the electronic communications.

As noted above, the updating system (210) includes the extractingcircuit (214-2). The extracting circuit (214-2) extracts communicatedinformation available about the target user (202-1) and the number ofother users (202-2) from the electronic communications. The communicatedinformation may be data extracted from electronic communications. Forexample, the communicated information may include names of the users,topics, or other communicated information. This communicated informationmay be analyzed to determine relevant information for updating theprofiles (211) of the target user (202-1). In an example, a model iscrated based on the communicated information. In an example, relevantinformation A (218-1), relevant information B (218-2), relevantinformation C (218-3), relevant information D (218-4), and relevantinformation D (218-4) is extracted from the electronic communications.In an example, the extracting circuit (214-2) extracts the communicatedinformation each time the first server (214-1) receives electroniccommunication. In other examples, the extracting circuit (214-2)extracts communicated information based on a time. For example, theextracting circuit (214-2) extracts communicated information everyMonday of each week of the year.

The system (200) includes the identifying circuit (214-3). Theidentifying circuit (214-3) to, based on an analysis of the communicatedinformation available about the target user and the number of otherusers, identify relevant information that is relevant for updating theprofiles (211) of the target user (202-1) on at least one social network(212). Relevant information may refer to portions of communicatedinformation that have been determined relevant for updating the profiles(211) of the target user (202-1) in a social network (212). For example,the communicated information may have a portion that is directed towardsuser A. The communicated information may have a portion that is directedtowards user B. The communicated information may have a portion that isdirected towards the target user (202-1). As a result, the communicatedinformation that has the portion that is directed towards the targetuser (202-1) may be relevant information (218). As described below, thecommunicated information may be used to create a model. The target user(202-1) and the number of other users (202-2) are represented as nodeson the model, and the electronic communications between the target user(202-1) and the number of other users (202-2) are represented as edges,in an example, the edges on the model are weighted.

In an example, the display (214-4) is used to present a number ofprompts to the target user (202-1) to allow the target user (202-1) tovalidate the relevant information before updating the profiles (211) ofthe target user (202-1). The prompt may be relevant informationpresented to the target user (202-1) in the form of a question to allowthe target user (202-1) to select an answer to the question. Once thetarget user (202-1) selects an answer, the relevant information isvalidated accordingly. Once the relevant information is validated, therelevant information may be used to update a profile of the target user(202-1). In an example, display A (208-1) associated with user device A(206-1) may be used to present a number of prompts to the target user(202-1). In another example, the display (214-4) of the updating system(210) may be used to present a number of prompts to the target user(202-1). As described below, the number of prompts are created bysummarizing the relevant information.

The system (200) includes the second server (214-5). The second server(214-5) updates the profiles (211) of the target user (202-1) on atleast one of the social networks (212) using the relevant information(218) derived from the analysis. For example, the second server (214-4)updates profile A (1-1) on social network. A (212-1) with relevantinformation A (218-1), relevant information B (218-2), relevantinformation C (218-3), and relevant information D (218-4). Further, thesecond server (214-4) updates the profile B (211-2) on social network B(212-2) with relevant information A (218-1) and relevant information E(218-5).

An overall example of FIG. 2 will now be described. The first server(214-1) monitors electronic communications between the target user(202-1) and the number of other users (202-2) in real-time. In anexample, the target user (202-1) sends an email to the other users(202-2). The extracting circuit (214-2) extracts communicatedinformation available about the target user (202-1) and the number ofother users (202-2) from the electronic communications. The communicatedinformation may be about a birth of the target user's child. Theidentifying circuit (214-3) identifies, based on an analysis of thecommunicated information available about the target user (202-1) and thenumber of other users (202-2), relevant information that is relevant forupdating the profiles (211) of the target user (202-1) on at least oneof the social networks (212). The relevant information may be the nameof the child, the sex of the child, the weight of the child, the heightof the child, and the day of the birth. The display (214-4) presents anumber of prompts to the target user (202-1) to allow the target user(202-1) to validate the relevant information before updating theprofiles (211). For example, the prompts may ask the target user (202-1)if the child's name is Charlotte, if the sex of the child is female, ifthe weight of the child is 7 pounds, if the length of the child is 19inches, and the day of the birth is October 20^(th). The target user(202-1) may validate this relevant information as being correct orincorrect by selecting a yes or no option that is presented in theprompt. The second server (214-5) updates the profiles (211) of thetarget user (202-1) on the social networks (212) using the relevantinformation (218) derived from the analysis. In this example, the nameof the child may be relevant information A (218-1), the sex of the childmay be relevant information B (218-2), the weight of the child may berelevant information C (218-3), the height of the child may be relevantinformation D (218-4), and the day of the birth may be relevantinformation E (218-5). As a result, both of the profiles (211) of thetarget user (202-1) are updated on both social networks (212).

FIG. 3 is a diagram of an example of a model, according to one exampleof principles described herein. As will be described below, a modelincludes a number of nodes and a number of edges.

In an example, the model (300) may be a data structure representingelectronic communications exchanged between a target user and otherusers. The target user and the other users may be represented as nodes(302) on the model (300). For example, the model (300) includes a targetnode (302-1), node B (302-2), node C (302-2), node D (302-4), and node E(302-5). In an example, the target node (302-1) may be associated with atarget user. Node B (302-2), node C (302-2), node D (302-4), and node E(302-5) may be associated with other user. For example, node B (302-2)may be associated with user B. Node C (302-2) may be associated withuser C. Node D (302-4) may be associated with user D. Node E (302-5) maybe associated with user E. As a result, node B (302-2), node C (302-2),node D (302-4), and node E (302-5) may be neighboring node with respectto the target node (302-1).

The electronic communications exchanged between the target user and theother users is represented as edges (304) on the model (300). Forexample, edge A (304-1) may represent electronic communicationsexchanged between the target user and user C. Edge B (304-2) representselectronic communications exchanged between user C and user E. Edge C(304-3) represents electronic communications exchanged between thetarget user and user D. Edge D (304-4) represents electroniccommunications exchanged between user E and user D. Edge E (304-5)represents electronic communications exchanged between user D and userB.

The target node (302-1) associated with the target user may be directlyconnected to neighboring nodes on the model (300). For example, thetarget node (302-1) may be directly connected to node C (302-3) via edgeA (304-1) and directly connected to node D (302-4) via edge C (304-3).As a result, the target user has directly exchanged electroniccommunications with user C and user D.

The target node (302-1) associated with the target user may beindirectly connected to neighboring nodes on the model (300). Forexample, the target node (302-1) may be indirectly connected to node E(302-5) via edge B (304-2) or edge D (304-4) and indirectly connected tonode B (302-2) via edge E (304-5). As a result, the target user hasindirectly exchanged electronic communications with user B and user E.

In an example, the edges (304) may be weighted. The weight of the edges(304) may be used to identify the relevant information. In anotherexample, the weight may be used to identify the frequency in which theusers exchange electronic communication. More information about theweight will be described below.

As noted above, the updating system (210) extracts communicatedinformation available about the target user and the other user from theelectronic communications to create the model (100). The model (300) maybe analyzed. Based on an analysis of the model (300), the updatingsystem (210) identifies relevant information from that is useful forupdating the profile of the target user on a social network.

In an example, the analysis identifies, from the model (300),neighboring nodes connected directly or indirectly to the target node(302-1), the neighboring nodes corresponding to the other users and thetarget node (302-1) corresponding to the target user. The neighboringnodes may be identified as described above. As a result, all userscorresponding to the social network or social networks may be analyzed.

The analysis analyzes the neighboring nodes and the target node (302-1)to determine, the relevant information via analyzing techniques. In anexample, the analyzing techniques include an in-degree technique, anout-degree technique, a closeness technique, a betweenness technique, aneigenvector centrality technique, or combinations thereof. This allowsfor intelligent pairing of users based on their behavior. The data canbe used to produce equivalence classes between users. This allows forthe opportunity of see how specific users interact with social media andhow the target user compares with the other users. Depending on thedetail of this data, the updating system (210) may use this informationto adapt user profiles or recommend connections between specific users.

In an example, the in-degree technique determines how many edges (304)point to the target node (302-1). In an example, the edges (304) thatpoint to the target node (302-1) represent electronic communicationreceived by the target user. In an example, edge A (304-1) points to thetarget node (302-1). As a result, one edge points to the target node(302-1). This allows the updating system (210) to understand which usershave sent an electronic communication to the target user. In thisexample, the updating system (210) determines that user C has sent anelectronic communication to the target user. This may allow the updatingsystem (210) to determine relationships between the users. For example,user C, associated with node C (302-3) exchanges electroniccommunication with the target user, associated with the target node(302-1). The target user then forwards these electronic communicationsto user D associated with node D (302-4). This starts a relationshipbetween user C and user D which can now be identified by the updatingsystem (210) using the in-degree technique. Depending on the contentsand/or the relevant information in the electronic communications, therelationship may be identified as a family relationship such as brotherand sister, a personal relationship such as friend, or a professionalrelationship such as boss, employee, or client. In some examples, byusing the in-degree technique, the updating system (210) may present aprompt to the target user to suggest a relationship between the targetuser, user C and user D.

In an example, the out-degree technique, determines how many edges (304)point away from the target node (302-1). In an example, the edges (304)that point away from the target node (302-1) represent electroniccommunication sent by the target user to another user. In an example,edge C (304-3) points away from the target node (302-1). As a result,one edge points away from the target node (302-1). This allows theupdating system (210) to understand which user the target user has sentan electronic communication to. In this example, the updating system(210) determines that the target user has sent an electroniccommunication to user D. This may allow the updating system (210) todetermine relationships between the users similar to the in-degreetechnique described above. In some examples, by using the out-degreetechnique, the updating system (210) may present a prompt to the targetuser to suggest a relationship between the target user and user D.

In an example, the closeness technique determines how long it will taketo spread information from one node to all other nodes. This maydetermine the path that electronic communication may take from one nodeto all the other nodes. For example, some users are more likely to passalong electronic communication from one user to another user morequickly than other users. This allows be updating system (210) todetermine which users passes along electronic communication quickly.This may allow the updating system (210) to determine relationshipsbetween the users. In an example, relationships between users may beidentified by analyzing selected patterns of electronic communicationagainst known patterns of electronic communication. For example, a knownpattern of electronic communication may be as follows: user C,associated with node C (302-3), sends electronic communications to thetarget user associated with the target node (302-1) and user Eassociated with node E (302-5). However, user C may send one electroniccommunication to the target user, user F and user D associated with nodeD (302-4). This may be a selected pattern of electronic communicationthat may be analyzed to determine if a relationship between user C anduser D exists. In some examples, analyzing selected patterns ofelectronic communication against known patterns of electroniccommunication may include how many times the selected pattern occurs.For example, if this selected pattern occurs more than once, arelationship between user C and user D exists. As a result, a weightthat is associated with an edge connecting node C (302-3) to node D(302-4) may be increased each time an electronic communication isexchanged between user C and user D. However, if this selected patternoccurs once, there is not a relationship between user C and user D. As aresult, the weight that is associated with the edge connecting node C(302-3) to node D (302-4) may remain the same. In some examples, byusing the closeness technique, the updating system (210) may present aprompt to the target user to suggest a relationship between the targetuser and the other users.

In an example the betweenness technique may be used to quantify thenumber of times a node acts as a bridge along the shortest path betweentwo other nodes. The more times a node acts as a bridge along theshortest path between two other nodes the more likely the node hasaccess to more users. This may allow the updating system (210) todetermine relationships between the users. For example, riser Bassociated with node B (302-2) is an expert in their field ofemployment. This results in user B exchanging electronic communicationwith other users, in an example, when the updating system (210) analyzesnode B (302-2), the updating system (210) will give node B (302-2) moreweight in determining the shortest path between the other nodes. As aresult, when the target user or any of the other nodes exchangeelectronic communication with user 13, a relationship is quicklyestablished given the importance of user B. In some examples, by usingthe betweenness technique, the updating system (210) may present aprompt to the target user to suggest a relationship between the targetuser and the other users.

In an example the eigenvector centrality technique is a measure of aninfluence of a node on the model (300). For example, some nodes may bemore influential in passing along electronic communication. This mayallow the updating system (210) to determine relationships between theusers. In some examples, by using the eigenvector centrality technique,the updating system (210) may present a prompt to the target user tosuggest a relationship between the target user and the other users. As aresult, these analyzing techniques allow the updating system (210) tounderstand relationships between the users and the users themselves aswell as determine relevant information.

FIG. 4A is a diagram of an example of a prompt, according to one exampleof principles described herein. As will be described below, a prompt ispresented to a target user via a display.

As illustrated, a prompt (410) is presented to a target user on adisplay (408-1). As noted above, relevant information is presented tothe target user in the form of a question to allow the target user toselect an answer to the question. In this example, the prompt (410)states, “Can work related detail X be updated on your profile for socialnetwork A?” The prompt (410) allows the target user to validate thisrelevant information by selecting an answer. In this example, the answerthat can be selected is yes or no. Once the target user selects ananswer the relevant information is validated accordingly. For example,if the target user selects no, this relevant information is either notcorrect or shouldn't be updated on the target user's profile for socialnetwork A. As a result, this relevant information is not updated onsocial network A. However, if the target user selects yes, this relevantinformation is correct and should be updated on the target user'sprofile for social network A. As a result, this relevant information isupdated on social network A. In this example, the target user validatesthis relevant information by selecting yes and this relevant informationis updated on the target user's profile accordingly. As a result, thedisplay (408-2) displays work related detail X (418) on the profile(411) of the target user.

While this example has been described with reference to the target uservalidating relevant information by selecting a yes or no option that ispresented in the prompt, the prompt may display other options. The otheroptions may include options such as this relevant information isincorrect, this relevant information should be uploaded to socialnetwork A instead of social network B, other options, or combinationsthereof.

FIG. 4B is a diagram of an example of a prompt, according to one exampleof principles described herein. As will be described below, a prompt ispresented to a target user via a display.

As illustrated, a prompt (460) is presented to a target user on adisplay (458-1). As noted above, relevant information is presented tothe target user in the form of a question to allow the target user tovalidate this relevant information by selecting an answer to thequestion. In this example, the prompt (460) states, “Can photograph X beupdated to your profile for social network B?” The prompt (460) allowsthe target user to validate this relevant information, such asphotograph X (468), by selecting an answer. In this example, the answerthat can be selected is yes or no. Once the target user selects ananswer the relevant information is validated accordingly. For example,if the target user selects no, photograph X (468) is not uploaded to theprofile (461) of the target user. However, if the target user selectsyes, photograph X (468) is uploaded to the profile (461) to update theprofile (461) of the target user on the social network. In this example,the target user selects yes and photograph X (468) is uploaded to theprofile (461). As a result, the display (458-2) displays photograph X(468) on the profile (461) of the target user.

FIG. 5 is a flowchart of an example of a method for updating a profile,according to one example of principles described herein. The method(500) may be executed by the system (100) of FIG. 1. The method (500)may be executed by other systems such as system 200, system 710, orsystem 800. In this example, the method (500) includes with a computerhaving a network interface and programmed to perform the method (500)monitoring (501) electronic communications between a target user and anumber of other users in real-time, extracting (502) communicatedinformation available about the target user and the number of otherusers from the electronic communications, based on an analysis of thecommunicated information available about the target user and the numberof other users identifying (503) relevant information from thecommunicated information that is relevant for updating the profile ofthe target user on at least one social network, and updating (504) theprofile of the target user on the at least one social network using therelevant information derived from the analysis.

As mentioned above, the method (500) includes monitoring electroniccommunications between a target user and a number of other users inreal-time. The electronic communication may be in the form of an IM, anemail, a live video, a phone call, a post, or a SMS. As a result, theelectronic communications may be unstructured data or structured data.

As mentioned above, the method (500) includes extracting (502)communicated information available about the target user and the numberof other users from the electronic communications. The communicatedinformation available about the target user and the number of otherusers from the electronic communications may be extracted via keywordsor natural processing language (NLP). This communicated information maybe used to create a model as described above.

As mentioned above, the method (500) includes based on an analysis ofthe communicated information available about the target user and thenumber of other users identifying (503) relevant information from thecommunicated information that is relevant for updating the profile ofthe target user on at least one social network. In an example, theanalysis includes identifying, from the model, neighboring nodesconnected directly or indirectly to a target node, the neighboring nodescorresponding to the other users and the target node corresponding tothe target use and analyzing the neighboring nodes and the target nodeto determine the relevant information via analyzing techniques. Theanalyzing techniques may include an in-degree technique, an out-degreetechnique, a closeness technique, a betweenness technique, aneigenvector centrality technique, or combinations thereof. As notedabove, these analyzing techniques may be used to also determine arelationship between users. As a result, the relevant information may bea relationship.

As mentioned above, the method (500) includes updating (504) the profileof the target user on the at least one social network using the relevantinformation derived from the analysis. In an example, the profile of thetarget user on the at least one social network using the relevantinformation derived from the analysis based on user preferencesspecified by the target user. For example, if social network A is abusiness social network, relevant information relating to a business maybe used to update the target user's profile. If social network B is apersonal social network, relevant information relating to the personallife of the target user may be used to update the target user's profile.

In some examples, the relevant information is formatted for each socialnetwork. For example, if social network A as a specific format, therelevant information may be formatted accordingly.

FIG. 6 is a flowchart of an example of a method for updating a profile,according to one example of principles described herein. The method(600) may be executed by the system (100) of FIG. 1. The method (600)may be executed by other systems such as system 200, system 710, orsystem 800. In this example, the method (600) includes with a computerhaving a network interface and programmed to perform the methodmonitoring (601) electronic communications between a target user and anumber of other users in real-time, extracting (602) communicatedinformation available about the target user and the number of otherusers from the electronic communications, based on an analysis of thecommunicated information available about the target user and the numberof other users identifying (603) relevant information from thecommunicated information that is relevant for updating the profile ofthe target user on at least one social network, presenting (604) anumber of prompts to the target user to allow the target user tovalidate the relevant information before updating the profile, andupdating (605) the profile of the target user on the at least one socialnetwork using the relevant information derived from the analysis.

As mentioned above, the method (600) includes presenting (604) a numberof prompts to the target user to allow the target user to validate therelevant information before updating the profile. In an example, themethod (600) presents a prompt to the target user based on an event. Theevent may include an exchange of electronic communication that is aboutthe target user.

In an example, the number of prompts are created by summarizing therelevant information. In some examples, NLP is used to summarize therelevant information. The NLP may extract specific words form therelevant information and form those specific words into a sentence ortwo. For example, if the relevant information includes specific detailabout event x, the NLP may summarize the relevant information such thatthe prompt may ask the user if they attended event X.

FIG. 7 is a diagram of an example of an updating system, according tothe principles described herein. The updating system (710) includes afirst server (714-1), an extracting circuit (714-2), an identifyingcircuit (714-3), a display (714-4), and a second server (714-5).

The first server (714-1) monitors electronic communications between atarget user and a number of other users in real-time. The first server(714-1) monitors specific electronic communications between a targetuser and a number of other users in real-time. The first server (714-1)monitors all electronic communications between a target user and anumber of other users in real-time.

The extracting circuit (714-2) extracts communicated informationavailable about the target user and the number of other users from theelectronic communications. The extracting circuit (714-2) extractscommunicated information available about the target user and the numberof other users from specific electronic communications. The extractingcircuit (714-2) extracts communicated information available about thetarget user and the number of other users from all electroniccommunications.

The identifying circuit (714-3), based on an analysis of thecommunicated information available about the target user and the numberof other users, identifies relevant information from the communicatedinformation that is relevant for updating the profile of the target useron a social network. The identifying circuit (714-3), based on ananalysis of the communicated information available about the target userand the number of other users identifies relevant information from thecommunicated information that is relevant for updating the profiles ofthe target user on several social networks.

The display (714-4) presents a prompt to the target user to allow thetarget user to validate the relevant information before updating theprofile. The display (714-4) presents several prompts to the target userto allow the target user to validate the relevant information beforeupdating the profile.

The second server (714-5) updates the profile of the target user on onesocial network using the relevant information derived from the analysis.The second server (714-5) updates several profiles of the target user onseveral social networks using the relevant information derived from theanalysis.

FIG. 8 is a diagram of an example of an updating system, according tothe principles described herein. In this example, the updating system(800) includes resource(s) (802) that are in communication with amachine-readable storage medium (804). Resource(s) (802) may include oneprocessor. In another example, the resource(s) (802) may further includeat least one processor and other resources used to process instructions.The machine-readable storage medium (804) represents generally anymemory capable of storing data such as instructions or data structuresused by the updating system (800). The instructions shown stored in themachine-readable storage medium (804) include monitor instructions(806), extract instructions (808), analyze instructions (810), andidentify instructions (812).

The machine-readable storage medium (804) contains computer readableprogram code to cause tasks to be executed by the resource(s) (802). Themachine-readable storage medium (804) may be tangible and/or physicalstorage medium. The machine-readable storage medium (804) may be anyappropriate storage medium that is not a transmission storage medium. Anon-exhaustive list of machine-readable storage medium types includesnon-volatile memory, volatile memory, random access memory, write onlymemory, flash memory, electrically erasable program read only memory, ortypes of memory, or combinations thereof.

The monitor instructions (806) represents instructions that, whenexecuted, cause the resource(s) (802) to access a server through anetwork interface and monitor electronic communications between a targetuser and a number of other users in real-time, the server storing theelectronic communications. The extract instructions (808) representsinstructions that, when executed, cause the resource(s) (802) to extractcommunicated information available about the target user and the otheruser from the electronic communications to create a model.

The analyze instructions (810) represents instructions that, whenexecuted, cause the resource(s) (802) to analyze the model. The identifyinstructions (812) represents instructions that, when executed, causethe resource(s) (802) to based on an analysis of the model identifyrelevant information from that is useful for updating the profile of thetarget user on a social network.

Further, the machine-readable storage medium (804) may be part of aninstallation package. In response to installing the installationpackage, the instructions of the machine-readable storage medium (804)may be downloaded from the installation package's source, such as aportable medium, a server, a remote network location, another location,or combinations thereof. Portable memory media that are compatible withthe principles described herein include DVDs, CDs, flash memory,portable disks, magnetic disks, optical disks, other forms of portablememory, or combinations thereof. In other examples, the programinstructions are already installed. Here, the memory resources caninclude integrated memory such as a hard drive, a solid state harddrive, or the like.

In some examples, the resource(s) (802) and the machine-readable storagemedium (804) are located within the same physical component, such as aserver, or a network component. The machine-readable storage medium(804) may be part of the physical component's main memory, caches,registers, non-volatile memory, or elsewhere the physical component'smemory hierarchy. Alternatively, the machine-readable storage medium(804) may be in communication with the resource(s) (802) over a network.Further, the data structures, such as the libraries, may be accessedfrom a remote location over a network connection while the programmedinstructions are located locally. Thus, the updating system (800) may beimplemented on a user device, on a server, on a collection of servers,or combinations thereof.

The updating system (800) of FIG. 8 may be part of a general purposecomputer. However, in alternative examples, the updating system (800) ispart of an application specific integrated circuit.

The preceding description has been presented to illustrate and describeexamples of the principles described. This description is not intendedto be exhaustive or to limit these principles to any precise formdisclosed. Many modifications and variations are possible in light ofthe above teaching.

The flowchart and block diagrams in the figures illustrate thearchitecture, functionality, and operations of possible implementationsof systems, methods, and computer program products. In this regard, eachblock in the flowchart or block diagrams may represent a module,segment, or portion of code, which has a number of executableinstructions for implementing the specific logical function(s). Itshould also be noted that, in some alternative implementations, thefunctions noted in the block may occur out of the order noted in thefigures. For example, two blocks shown in succession may, in fact, beexecuted substantially concurrently, or the blocks may sometimes beexecuted in the reverse order, depending upon the functionalityinvolved. It will also be noted that each block of the block diagramsand/or flowchart illustration and combination of blocks in the blockdiagrams and/or flowchart illustration, can be implemented by specialpurpose hardware-based systems that perform the specified functions oracts, or combinations of special purpose hardware and computerinstructions.

The terminology used herein is for the purpose of describing particularexamples, and is not intended to be limiting. As used herein, thesingular forms “a,” “an” and “the” are intended to include the pluralforms as well, unless the context clearly indicated otherwise. It willbe further understood that the terms “comprises” and/or “comprising”when used in the specification, specify the presence of stated features,integers, operations, elements, and/or components, but do not precludethe presence or addition of a number of other features, integers,operations, elements, components, and/or groups thereof.

What is claimed is:
 1. A computer program product for updating a profileon a social network, the computer program product comprising anon-transitory computer-readable medium with instructions that, whenexecuted by a computer comprising a server and having a networkinterface for communicating with a computer network, causes the computerin: with the network interface, monitor electronic communicationsbetween a target user and a number of other users occurring on thecomputer network; extract communicated information available about thetarget user and the number of other users from the electroniccommunications; with the network interface, access at least one socialnetwork available on the computer network to obtain information from aprofile of the target user on each social network; based on an analysisof the communicated information available about the target user and thenumber of other users, identify relevant information from thecommunicated information that replaces older information already in theprofile of the target user and so is relevant for updating the profileof the target user on a particular social network, the profilecomprising a visual display of personal data associated with the targetuser for presentation to other users of the social network; accessmetadata associate with the social network using the network interface,and determining from the metadata associated with the social networkwhether the social network is designated for personal use or businessuse; and, when a type of the relevant information, as between personalor business information, matches the designated use of the socialnetwork, update the profile of the target user on that social networkwith the relevant information, including updating the older informationalready in the profile of the target user on that social network usingthe relevant information derived from the analysis; and continuallyupdate the profile of the target user with relevant informationextracted from further electronic communications so that information inthe profile of the target user remains current for other users of thesocial network.
 2. The computer program product of claim 1, wherein thecommunicated information is used to create a model for the analysis, thetarget user and the number of other users are represented as nodes onthe model, and the electronic communications between the target user andthe number of other users are represented as edges on the model.
 3. Thecomputer program product of claim 2, wherein the edges on the model areweighted.
 4. The computer program product of claim 1, wherein theanalysis comprises: identifying, from a model, neighboring nodesconnected directly or indirectly to a target node, the neighboring nodescorresponding to the other users and the target node corresponding tothe target user; and analyzing the neighboring nodes and the target nodeto determine the relevant information via analyzing techniques.
 5. Thecomputer program product of claim 1, further comprising instructions forpresenting a number of prompts to the target user to allow the targetuser to validate the relevant information before updating the profile.6. The computer program product of claim 5, wherein the number ofprompts are created by summarizing the relevant information.
 7. Acomputer program product for updating a profile on a social network, theproduct comprising a non-transitory computer-readable medium withinstructions executable by a computer having a network interface forcommunicating with a computer network, the instructions, when executed,causing the computer to perform: accessing a server through a networkinterface and monitoring electronic communications between a target userand a number of other users in real-time, the server storing theelectronic communications; extracting and analyzing communicatedinformation available about the target user and the other user from theelectronic communications to create a model; analyzing the model; basedon an analysis of the model, identifying relevant information forupdating the profile of the target user on a social network; determiningfrom metadata associated with the social network whether the socialnetwork is designated for personal use or business use; and, when a typeof the relevant information, as between personal or businessinformation, matches the designated use of the social network, updatingthe profile of the target user on the social network with the relevantinformation.
 8. The computer program product of claim 7, furthercomprising instructions that, when executed, cause the processor topresent a number of prompts to the target user to allow the target userto validate the relevant information before updating the profile.
 9. Thecomputer program product of claim 7, wherein the target user and thenumber of other users are represented as nodes on the model.
 10. Thecomputer program product of claim 7, wherein the electroniccommunications between the target user and the number of other users arerepresented as edges on the model.
 11. The computer program product ofclaim 10, wherein the edges on the model are weighted.
 12. The computerprogram product of claim 10, wherein analysis of the communicatedinformation comprises determining how many edges point to the noderepresenting the target user.
 13. The computer program product of claim10, wherein analysis of the communicated information comprisesdetermining how many edges point away from the node representing thetarget user.
 14. The computer program product of claim 10, whereinanalysis of the communicated information comprises determining a timerequired to spread information from one node to all other nodes.
 15. Thecomputer program product of claim 10, wherein analysis of thecommunicated information comprises quantifying a number of times a nodeacts as a bridge along a shortest path between two other nodes.
 16. Thecomputer program product of claim 10, wherein analysis of thecommunicated information comprises determining a measure of influencethat a user associated with a node in the model has over other usersrepresented.
 17. The computer program product of claim 7, furthercomprising instructions for extracting additional relevant informationfor updating the profile from a communication between two other usersthat is not including but is about the target user.